<?php
/*
  $Id: tell_a_friend.php,v 1.3 2005/08/18 13:06:35 mwithington Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
  
  //ECJC1.1.6 Done
*/

  // -- webMS Modification --
  // Ensure a valid runtime environment or die
  if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

  // -- webMS Modification --
  // Check if osCommerce environment is already loaded
  if (defined( '_OSCOMMERCE_LOADED' )) {
    if (!DB_SHARED) {
      // Reconnect to osCommerce Database
      tep_db_connect() or die('Unable to connect to database server!');
    }
    // Load osCommerce Globals for Boxes
    global $category_links, $languages_id, $catID, $catID_array, $current_category_id;
    global $request_type, $lng, $cart, $currencies, $language, $navigation, $breadcrumb;
  } else {
    // Load osCommerce Environment for the First Time
    require('components/'.$option.'/includes/application_top.php');
  }

  require(DIR_WS_LANGUAGES . $language . '/' . $osMod . '.php');

  if (!tep_session_is_registered('customer_id') && (ALLOW_GUEST_TO_TELL_A_FRIEND == 'false')) {
    $navigation->set_snapshot();
    tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
  }

$valid_product = false;
if (isset($_REQUEST['products_id'])) {
    if ($_REQUEST['products_id'] == false ) {
        $valid_product = true;
    } else {
        $product_info_query = tep_db_query("select pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$_REQUEST['products_id'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'");
        if (tep_db_num_rows($product_info_query)) {
            $valid_product = true;
            $product_info = tep_db_fetch_array($product_info_query);
        }
    }
}

if ($valid_product == false) {
    tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $_REQUEST['products_id']));
}

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_TELL_A_FRIEND);

if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'process')) {
    $error = false;

// MESSAGE STACK FIX for new variable $tellAboutWhat
if ($_REQUEST['products_id'] == false) {
    $tellAboutWhat = STORE_NAME;
} else {
    $tellAboutWhat = $product_info['products_name'];
}
// END MESSAGE STACK FIX for $tellAboutWhat

    $to_email_address = tep_db_prepare_input($_REQUEST['to_email_address']);
    $to_name = tep_db_prepare_input($_REQUEST['to_name']);
    $from_email_address = tep_db_prepare_input($_REQUEST['from_email_address']);
    $from_name = tep_db_prepare_input($_REQUEST['from_name']);
    $message = tep_db_prepare_input($_REQUEST['message']);

    if (empty($from_name)) {
        $error = true;

        $messageStack -> add('friend', ERROR_FROM_NAME);
    }

    if (!tep_validate_email($from_email_address)) {
        $error = true;

        $messageStack -> add('friend', ERROR_FROM_ADDRESS);
    }

    if (empty($to_name)) {
        $error = true;

        $messageStack -> add('friend', ERROR_TO_NAME);
    }

    if (!tep_validate_email($to_email_address)) {
        $error = true;

        $messageStack -> add('friend', ERROR_TO_ADDRESS);
    }

    if ($error == false) {
        // ADDED THIS ALT SUBJECT FOR NON PRODUCT RECOMMENDATION
        if ($_REQUEST['products_id'] == false) {
            $myEmailSubject = BOX_TELL_A_FRIEND_SUBJECT;
            $email_subject = sprintf($myEmailSubject, $from_name, STORE_NAME);
            $myEmailIntro = BOX_TELL_A_FRIEND_EMAILINTRO;
            $email_body = sprintf($myEmailIntro, $to_name, $from_name, STORE_NAME) . "\n\n";
            if (tep_not_null($message)) {
                $email_body .= $message . "\n\n";
            }
            $email_body .= BOX_TELL_A_FRIEND_BODY . "\n\n" . HTTP_SERVER . "\n\n" .
            sprintf(TEXT_EMAIL_SIGNATURE, STORE_NAME . "\n" . HTTP_SERVER . DIR_WS_CATALOG . "\n");
        } else {
            $email_subject = sprintf(TEXT_EMAIL_SUBJECT, $from_name, STORE_NAME);
            $email_body = sprintf(TEXT_EMAIL_INTRO, $to_name, $from_name, $product_info['products_name'], STORE_NAME) . "\n\n";
            if (tep_not_null($message)) {
                $email_body .= $message . "\n\n";
            }
            $email_body .= sprintf(TEXT_EMAIL_LINK, tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $_REQUEST['products_id'])) . "\n\n" .
            sprintf(TEXT_EMAIL_SIGNATURE, STORE_NAME . "\n" . HTTP_SERVER . DIR_WS_CATALOG . "\n");
        }
    tep_mail($to_name, $to_email_address, $email_subject, $email_body, $from_name, $from_email_address);
    // UNCOMMENT NEXT LINE ONLY IF YOU WANT THE ADDED FEATURE OF HAVING THE MAIL SENT TO THE SHOPOWNER!
    // tep_mail($to_name, STORE_OWNER_EMAIL_ADDRESS, BOX_TELL_A_FRIEND_MAILSUBJECT, $email_body, $from_name, $from_email_address);
    $messageStack -> add_session('header', sprintf(TEXT_EMAIL_SUCCESSFUL_SENT, $tellAboutWhat, tep_output_string_protected($to_name)), 'success');
    // Replaced above $_REQUEST['products_name'] with $tellAboutWhat
    // If prduct id is in the url then redirect back to product, otherwise redirect to home page
    if ($_REQUEST['products_id'] == false) {
        tep_redirect(tep_href_link(FILENAME_DEFAULT));
    } else {
        tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $_REQUEST['products_id']));
    } //END CHANGE IN LINK
    }
} elseif (tep_session_is_registered('customer_id')) {
    $account_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customer_id . "'");
    $account = tep_db_fetch_array($account_query);

    $from_name = $account['customers_firstname'] . ' ' . $account['customers_lastname'];
    $from_email_address = $account['customers_email_address'];
}

$breadcrumb -> add(NAVBAR_TITLE, tep_href_link(FILENAME_TELL_A_FRIEND, 'products_id=' . $_REQUEST['products_id']));

  $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_TELL_A_FRIEND, 'products_id=' . $_REQUEST['products_id']));
?>

<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3">
  <tr>
<!-- body_text //-->
    <td width="100%" valign="top"><?php echo tep_draw_form('email_friend', tep_href_link(FILENAME_TELL_A_FRIEND, 'action=process&products_id=' . $_REQUEST['products_id'])); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td class="contentheading"><?php //echo sprintf(HEADING_TITLE, $product_info['products_name']); ?></td>
            <td class="contentheading" align="right">
<?php // NOTE THIS VAR USED SEVERAL TIMES BELOW
if ($_REQUEST['products_id'] == false) {
    $tellAboutWhat = STORE_NAME;
} else {
    $tellAboutWhat = $product_info['products_name'];
}
echo sprintf(HEADING_TITLE, $tellAboutWhat);

?>
</td>
   <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_contact_us.gif', sprintf(HEADING_TITLE, $tellAboutWhat), HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
  if ($messageStack->size('friend') > 0) {
?>
      <tr>
        <td><?php echo $messageStack->output('friend'); ?></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
  }
?>
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr>
                <td class="main"><b><?php echo FORM_TITLE_CUSTOMER_DETAILS; ?></b></td>
                <td class="inputRequirement" align="right"><?php echo FORM_REQUIRED_INFORMATION; ?></td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
              <tr class="infoBoxContents">
                <td><table border="0" cellspacing="0" cellpadding="2">
                  <tr>
                    <td class="main"><?php echo FORM_FIELD_CUSTOMER_NAME; ?></td>
                    <td class="main"><?php echo tep_draw_input_field('from_name'); ?></td>
                  </tr>
                  <tr>
                    <td class="main"><?php echo FORM_FIELD_CUSTOMER_EMAIL; ?></td>
                    <td class="main"><?php echo tep_draw_input_field('from_email_address'); ?></td>
                  </tr>
                </table></td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
          </tr>
          <tr>
            <td class="main"><b><?php echo FORM_TITLE_FRIEND_DETAILS; ?></b></td>
          </tr>
          <tr>
            <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
              <tr class="infoBoxContents">
                <td><table border="0" cellspacing="0" cellpadding="2">
                  <tr>
                    <td class="main"><?php echo FORM_FIELD_FRIEND_NAME; ?></td>
                    <td class="main"><?php echo tep_draw_input_field('to_name') . '&nbsp;<span class="inputRequirement">' . ENTRY_FIRST_NAME_TEXT . '</span>'; ?></td>
                  </tr>
                  <tr>
                    <td class="main"><?php echo FORM_FIELD_FRIEND_EMAIL; ?></td>
                    <td class="main"><?php echo tep_draw_input_field('to_email_address') . '&nbsp;<span class="inputRequirement">' . ENTRY_EMAIL_ADDRESS_TEXT . '</span>'; ?></td>
                  </tr>
                </table></td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
          </tr>
          <tr>
            <td class="main"><b><?php echo FORM_TITLE_FRIEND_MESSAGE; ?></b></td>
          </tr>
          <tr>
            <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
              <tr class="infoBoxContents">
                <td><?php echo tep_draw_textarea_field('message', 'soft', 40, 8); ?></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
          <tr class="infoBoxContents">
            <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                <td>
<?php if ($_REQUEST['products_id'] == false) {
    $pageTo = FILENAME_DEFAULT;
} else {
    $pageTo = FILENAME_PRODUCT_INFO . '?products_id=' . $_REQUEST['products_id'];
}
echo '<a href="' . tep_href_link($pageTo) . '">' . tep_image_button('button_back.gif', IMAGE_BUTTON_BACK) . '</a>'; ?></td>
                <td align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table></form></td>
<!-- body_text_eof //-->
  </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->

<?php
  require(DIR_WS_INCLUDES . 'application_bottom.php');

  // -- webMS Modification --
  // reset the Mambo Database connection (stomped by osCommerce Connection)
  if (!DB_SHARED) {
    global $database, $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db, $mosConfig_dbprefix;
    $database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db, $mosConfig_dbprefix );
  }
 ?>
